package com.zmj.sy.mom.srv.aps.bean.entity.order;

import com.baomidou.mybatisplus.annotation.TableName;
import com.zmj.sy.mom.srv.aps.bean.entity.base.BaseEntity;
import com.zmj.sy.mom.srv.aps.utils.Comment;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@ToString
@Comment("APS工单表")
@Getter
@Setter
@TableName("tb_aps_work_order")
public class ApsWorkOrder extends BaseEntity {

    @Comment("APS订单ID")
    private Integer apsOrderId;

    @Comment("总订单ID")
    private Integer orderId;

    @Comment("BOM表的ID")
    private Integer bomId;

    @Comment("BOM表的ID")
    private Integer bomPid;

    @Comment("此表的父级ID")
    private Integer pid;

    @Comment("是否顶级bom:1 是 0 不是")
    private Integer topFlag;

    @Comment("工厂代号")
    private String factoryNo;

    @Comment("转换前的父子关系")
    private String bomCode;

    @Comment("转换前的父子关系")
    private String parentBomCode;

    @Comment("领料中心")
    private String packCenter;

    @Comment("物料名称")
    private String materName;

    @Comment("物料编码")
    private String materCode;

    @Comment("规格")
    private String standards;

    @Comment("单件数量")
    private BigDecimal partCount;

    @Comment("总数量,单架数量")
    private BigDecimal totalCount;

    @Comment("订单生产数量")
    private BigDecimal orderCount;

    @Comment("PLM_ID")
    private String plmId;

    @Comment("单件重量")
    private BigDecimal materWeight;

    @Comment("零件图号")
    private String drawing;

    @Comment("交期")
    private String dueDate;

    @Comment("物料类别：Platepart自制件， Component外购件, Assembly组件")
    private String materType;

    @Comment("工序链")
    private String workChain;

    @Comment("备料方式：1 自制  2 外购")
    private Integer readyType;

    @Comment("零件厚")
    private Integer materHigh;

    @Comment("材质")
    private String texture;

    @Comment("工单编号")
    private String workOrderCode;

    @Comment("组件路径-MES用")
    private String assemblyPath;

    @Comment("层级")
    private Integer level;

    @Comment("父物料号")
    private String erpParentCode;

    @Comment("物料编码")
    private String erpCode;

    @Comment("工单状态 1未启用 2未开工 3开工中 4已完成")
    private Integer status;

    @Comment("完工数量")
    private BigDecimal finishCount;

    @Comment("计划开始时间")
    private LocalDateTime planStartDateTime;

    @Comment("计划完成时间")
    private LocalDateTime planEndDateTime;

    @Comment("实际开始时间")
    private LocalDateTime actualStartDateTime;

    @Comment("实际结束时间")
    private LocalDateTime actualEndDateTime;

    @Comment("订单导入类型 1ERP 2MBD")
    private Integer orderType;

    @Comment("是否为后期添加 null和1否 2是")
    private Integer appendFlag;

    @Comment("领料单号")
    private String pickCode;

    @Comment("领料单顺序号")
    private Integer pickSeq;
}
